//
//  TYPZFHViewController.m
//  Estate
//
//  Created by heyong on 16/5/27.
//  Copyright © 2016年 ttsx. All rights reserved.
//

#import "PictureViewController.h"


#import "H1_ImagesCell.h"
#import "UIActionSheet+Common.h"
#import "B_wuLiaoCell.h"
#import "B_SwitchCell.h"

#import "TYPZFHViewController.h"

@interface TYPZFHViewController ()<UITableViewDelegate,UITableViewDataSource,UINavigationControllerDelegate, UIImagePickerControllerDelegate>

@property (strong, nonatomic) Tweet *curTweet;
@property (strong ,nonatomic)TPKeyboardAvoidingTableView *tableView;   /**表格*/


@property(strong,nonatomic)UIImagePickerController *picker;

@end

@implementation TYPZFHViewController

-(NSMutableArray *)selectedAssetURLs{
    if(!_selectedAssetURLs){
        _selectedAssetURLs=[NSMutableArray array];
    }
    return _selectedAssetURLs;
}

- (NSMutableDictionary *)dataDic{
    if(_dataDic==nil){
        _dataDic=[NSMutableDictionary dictionary];
    }
    return _dataDic;
}

- (Site_01 *)site{
    if(_site==nil){
        _site=[[Site_01 alloc]init];
    }
    return _site;
}

-(UITableView *)tableView{
    if(_tableView==nil){
        _tableView=[[TPKeyboardAvoidingTableView alloc]initWithFrame:CGRECTS(0, 0, 375, 667)];
        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

        _tableView.bounces=NO;
        _tableView.delegate=self;
        _tableView.dataSource=self;

        [LSUtility setExtraCellLineHidde:_tableView tabHeader:NO tabFooter:NO];
        //注册单元格
        [_tableView registerNib:[UINib nibWithNibName:@"B_wuLiaoCell" bundle:nil] forCellReuseIdentifier:@"wuliao"];
        [_tableView registerNib:[UINib nibWithNibName:@"B_SwitchCell" bundle:nil] forCellReuseIdentifier:@"switch"];
        [_tableView registerClass:[H1_ImagesCell class] forCellReuseIdentifier:kCellIdentifier_H1_ImagesCell];
    }
    return _tableView;
}
- (UIImagePickerController *)picker{
    if(!_picker){
        _picker = [[UIImagePickerController alloc] init];
        _picker.delegate = self;
        _picker.allowsEditing = NO;//设置可编辑
        _picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    }
    return _picker;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor=[UIColor colorWithRed:0.98 green:0.98 blue:0.98 alpha:1.00];
    [self.view addSubview:self.tableView];
    _curTweet = [[Tweet alloc] init];
    [self setData];
    NSNotificationCenter * center = [NSNotificationCenter defaultCenter];
    [center addObserver:self selector:@selector(refresh:) name:@"RefreshImage_1" object:nil];
}

- (void)refresh:(id)sender{
    if(self.selectedAssetURLs!=nil){
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            //设置图片
            self.curTweet.selectedAssetURLs =self.selectedAssetURLs;
            //回到主线程来刷新
            dispatch_async(dispatch_get_main_queue(), ^{
                [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:3]] withRowAnimation:UITableViewRowAnimationFade];
            });
        });
    }
}


- (void)setData{
    WEAKSELF
    if(_site!=nil){
        [weakSelf.dataDic setObject:_site.fh_text_1 forKey:@"检查施工方案执行情况"];
        [weakSelf.dataDic setObject:_site.isfh_1 forKey:@"是否符合冬雨季施工条件"];
        [weakSelf.dataDic setObject:_site.isfh_2 forKey:@"是否按照冬雨季施工方案组织施工"];
        [weakSelf.dataDic setObject:_site.fh_text_2 forKey:@"发现的问题及处理情况"];
        [self refresh:nil];
        self.selectedAssetURLs= [LSUtility quertFileImageType:@"RECORD_02_SIDE_04" andId:_site.recordId andFilePathArr:_site.fileArray];
        [self refresh:nil];
        
    }else{
        [weakSelf.dataDic setObject:@"" forKey:@"检查施工方案执行情况"];
        [weakSelf.dataDic setObject:@"是" forKey:@"是否符合冬雨季施工条件"];
        [weakSelf.dataDic setObject:@"是" forKey:@"是否按照冬雨季施工方案组织施工"];
        [weakSelf.dataDic setObject:@"" forKey:@"发现的问题及处理情况"];
    }
}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    long section=indexPath.section;
    if(section==0||section==2){
        return 130;
    }else if(section==1){
        return 40;
    }else{
        return  [H1_ImagesCell cellHeightWithObj:_curTweet title:@"附件"];
    }
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    if(section==0){
        return 0;
    }else{
        return 10;
    }
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 4;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    if(section==0){
        return 1;
    }else if(section==1){
        return 2;
    }else{
        return 1;
    }
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    WEAKSELF
    if(indexPath.section==0){
        B_wuLiaoCell *cell=[tableView dequeueReusableCellWithIdentifier:@"wuliao" forIndexPath:indexPath];
        cell.selectionStyle=UITableViewCellSelectionStyleNone;
        cell.title.text=@"检查施工方案执行情况";
        cell.textValueChangedBlock=^(NSString *valueStr){
            weakSelf.site.fh_text_1 =valueStr;
            [weakSelf.dataDic setObject:valueStr forKey:@"检查施工方案执行情况"];
        };
        cell.isEdit=self.isEdit;
        if(_site!=nil){
            cell.text.text=_site.fh_text_1;
        }
        
        return  cell;
    }else if(indexPath.section==1){
        
        if(indexPath.row==0){
            B_SwitchCell *cell=[tableView dequeueReusableCellWithIdentifier:@"switch" forIndexPath:indexPath];
            cell.selectionStyle=UITableViewCellSelectionStyleNone;
            cell.title.text=@"是否符合冬/雨季施工条件";
            cell.sValueChangeBlock=^(UISwitch *sender){
                weakSelf.site.isfh_1=sender.on==0?@"否":@"是";
                [weakSelf.dataDic setObject:weakSelf.site.isfh_1 forKey:@"是否符合冬雨季施工条件"];
            };
            
            cell.isEdit=self.isEdit;
            
            if(_site!=nil){
                if([_site.isfh_1 isEqualToString:@"是"]){
                    //设置开关
                    [cell.kaiguan setOn:YES];
                }else{
                    [cell.kaiguan setOn:NO];
                }
            }
            return cell;
            
        }else{
            B_SwitchCell *cell=[tableView dequeueReusableCellWithIdentifier:@"switch" forIndexPath:indexPath];
            cell.selectionStyle=UITableViewCellSelectionStyleNone;
            cell.title.text=@"是否符合冬/雨季施工方案组织施工";
            cell.sValueChangeBlock=^(UISwitch *sender){
                weakSelf.site.isfh_2=sender.on==0?@"否":@"是";
                NSLog(@"weakSelf.site.isfh_2：%@",weakSelf.site.isfh_2);
                [weakSelf.dataDic setObject:weakSelf.site.isfh_2 forKey:@"是否按照冬雨季施工方案组织施工"];
            };
            
            cell.isEdit=self.isEdit;
            
            if(_site!=nil){
                if([_site.isfh_2 isEqualToString:@"是"]){
                    //设置开关
                    [cell.kaiguan setOn:YES];
                }else{
                    [cell.kaiguan setOn:NO];
                }
            }
            return cell;
        }
    }else if(indexPath.section==2){
        B_wuLiaoCell *cell=[tableView dequeueReusableCellWithIdentifier:@"wuliao" forIndexPath:indexPath];
        cell.title.text=@"发现问题及处理情况";
        cell.textValueChangedBlock=^(NSString *valueStr){
            weakSelf.site.fh_text_2 =valueStr;
            [weakSelf.dataDic setObject:valueStr forKey:@"发现的问题及处理情况"];
        };
        cell.isEdit=self.isEdit;
        if(_site!=nil){
            cell.text.text=_site.fh_text_2;
        }
        return  cell;
    }else{
        WEAKSELF
        H1_ImagesCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_H1_ImagesCell forIndexPath:indexPath];
        [cell setTitle:@"附件"];
        cell.isEdit=self.isEdit;

        cell.curTweet = _curTweet;
        cell.addPicturesBlock = ^(){
            [weakSelf showActionForPhoto];
        };
        __block H1_ImagesCell *cellblock = cell;
        cell.deleteTweetImageBlockUrl = ^(TweetImage *toDelete,NSString *deurl){
            [cellblock.curTweet.tweetImages removeObject:toDelete];
            [weakSelf.selectedAssetURLs removeObject:deurl];
            [weakSelf refresh:nil];
        };
        return cell;
    }
}

#pragma mark UIActionSheet M

- (void)showActionForPhoto{
    //    @weakify(self);
    [[UIActionSheet bk_actionSheetCustomWithTitle:nil buttonTitles:@[@"拍照", @"从相册选择"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) {
        
        [self photoActionSheet:sheet DismissWithButtonIndex:index];
        
    }] showInView:self.view];
}

- (void)photoActionSheet:(UIActionSheet *)sheet DismissWithButtonIndex:(NSInteger)buttonIndex{
    if (buttonIndex == 0) {
        //拍照
        if (_curTweet.tweetImages.count >= 9) {//照片最多这么多
            kTipAlert(@"最多只可选择9张照片，已经选满了。先去掉一张照片再拍照呗～");
            return;
        }
       
        [self presentViewController:self.picker animated:YES completion:nil];//进入照相界面
    }else if (buttonIndex == 1){
        //相册
        PictureViewController *picCtr=[[PictureViewController alloc]init];
        picCtr.flag=@"file";
        NSMutableArray *array = [self.selectedAssetURLs valueForKeyPath:@"@distinctUnionOfObjects.self"];
        picCtr.selectedImages=[[NSMutableArray alloc] initWithArray:array];
        picCtr.selectedImageBlock=^(NSMutableArray *array){
            for (NSString *path in array) {
                //添加图片路径到已选数组
                [self.selectedAssetURLs addObject:path];
            }
        };
        [self.navigationController pushViewController:picCtr animated:YES];    }
}

#pragma mark UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    
    UIImage *image=[info objectForKey:UIImagePickerControllerOriginalImage];
    self.curTweet.editImageView = [[EditImageView alloc]initWithImage:image];
    WEAKSELF
    self.curTweet.editImageView.completeBlock = ^(NSString *path) {
        //添加选择附件
        [weakSelf.curTweet addASelectedAssetURL:path];
        [weakSelf.selectedAssetURLs addObject:path];
        //刷新指定行
        [weakSelf.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:3]] withRowAnimation:UITableViewRowAnimationFade];
    };    
    [picker dismissViewControllerAnimated:YES completion:nil];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    [picker dismissViewControllerAnimated:YES completion:nil];
}
#pragma mark scrollview
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    if (scrollView == self.tableView) {
        [self.view endEditing:YES];
    }
}
-(void)dealloc{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}
@end
